fix so that default icons are created if you call gtk_stock_list_ids()
authorHavoc Pennington <hp@redhat.com>
Fri, 25 May 2001 22:08:53 +0000 (22:08 +0000)
committerHavoc Pennington <hp@src.gnome.org>
Fri, 25 May 2001 22:08:53 +0000 (22:08 +0000)
2001-05-25  Havoc Pennington  <hp@redhat.com>

* gtk/gtkiconfactory.c: fix so that default icons are created if
you call gtk_stock_list_ids()

* demos/gtk-demo/stock_browser.c (create_model): sort stock items
in list

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
demos/gtk-demo/stock_browser.c
gtk/gtkiconfactory.c
gtk/gtkstock.h

index f96569ce4f7f3006ca077231c78ab1c5dc8ca3f1..0adb6a34fe4bc0644871d95e00a7c41ca9b130e7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2001-05-25  Havoc Pennington  <hp@redhat.com>
-       
+
+       * gtk/gtkiconfactory.c: fix so that default icons are created if 
+       you call gtk_stock_list_ids()
+
+       * demos/gtk-demo/stock_browser.c (create_model): sort stock items
+       in list
+
+2001-05-25  Havoc Pennington  <hp@redhat.com>
+
        * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
        set can render without falling back to missing image icon
 
index f96569ce4f7f3006ca077231c78ab1c5dc8ca3f1..0adb6a34fe4bc0644871d95e00a7c41ca9b130e7 100644 (file)
@@ -1,5 +1,13 @@
 2001-05-25  Havoc Pennington  <hp@redhat.com>
-       
+
+       * gtk/gtkiconfactory.c: fix so that default icons are created if 
+       you call gtk_stock_list_ids()
+
+       * demos/gtk-demo/stock_browser.c (create_model): sort stock items
+       in list
+
+2001-05-25  Havoc Pennington  <hp@redhat.com>
+
        * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
        set can render without falling back to missing image icon
 
index f96569ce4f7f3006ca077231c78ab1c5dc8ca3f1..0adb6a34fe4bc0644871d95e00a7c41ca9b130e7 100644 (file)
@@ -1,5 +1,13 @@
 2001-05-25  Havoc Pennington  <hp@redhat.com>
-       
+
+       * gtk/gtkiconfactory.c: fix so that default icons are created if 
+       you call gtk_stock_list_ids()
+
+       * demos/gtk-demo/stock_browser.c (create_model): sort stock items
+       in list
+
+2001-05-25  Havoc Pennington  <hp@redhat.com>
+
        * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
        set can render without falling back to missing image icon
 
index f96569ce4f7f3006ca077231c78ab1c5dc8ca3f1..0adb6a34fe4bc0644871d95e00a7c41ca9b130e7 100644 (file)
@@ -1,5 +1,13 @@
 2001-05-25  Havoc Pennington  <hp@redhat.com>
-       
+
+       * gtk/gtkiconfactory.c: fix so that default icons are created if 
+       you call gtk_stock_list_ids()
+
+       * demos/gtk-demo/stock_browser.c (create_model): sort stock items
+       in list
+
+2001-05-25  Havoc Pennington  <hp@redhat.com>
+
        * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
        set can render without falling back to missing image icon
 
index f96569ce4f7f3006ca077231c78ab1c5dc8ca3f1..0adb6a34fe4bc0644871d95e00a7c41ca9b130e7 100644 (file)
@@ -1,5 +1,13 @@
 2001-05-25  Havoc Pennington  <hp@redhat.com>
-       
+
+       * gtk/gtkiconfactory.c: fix so that default icons are created if 
+       you call gtk_stock_list_ids()
+
+       * demos/gtk-demo/stock_browser.c (create_model): sort stock items
+       in list
+
+2001-05-25  Havoc Pennington  <hp@redhat.com>
+
        * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
        set can render without falling back to missing image icon
 
index f96569ce4f7f3006ca077231c78ab1c5dc8ca3f1..0adb6a34fe4bc0644871d95e00a7c41ca9b130e7 100644 (file)
@@ -1,5 +1,13 @@
 2001-05-25  Havoc Pennington  <hp@redhat.com>
-       
+
+       * gtk/gtkiconfactory.c: fix so that default icons are created if 
+       you call gtk_stock_list_ids()
+
+       * demos/gtk-demo/stock_browser.c (create_model): sort stock items
+       in list
+
+2001-05-25  Havoc Pennington  <hp@redhat.com>
+
        * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
        set can render without falling back to missing image icon
 
index f96569ce4f7f3006ca077231c78ab1c5dc8ca3f1..0adb6a34fe4bc0644871d95e00a7c41ca9b130e7 100644 (file)
@@ -1,5 +1,13 @@
 2001-05-25  Havoc Pennington  <hp@redhat.com>
-       
+
+       * gtk/gtkiconfactory.c: fix so that default icons are created if 
+       you call gtk_stock_list_ids()
+
+       * demos/gtk-demo/stock_browser.c (create_model): sort stock items
+       in list
+
+2001-05-25  Havoc Pennington  <hp@redhat.com>
+
        * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
        set can render without falling back to missing image icon
 
index e48c21611235f6e3f0a855e8df786c35ed882051..33120fe6dc66de919f63bd72427eac91beac1008 100644 (file)
@@ -1,10 +1,13 @@
 /* Stock Item/Icon Browser
  *
  * This source code for this demo doesn't demonstrate anything
- * particularly useful in applications, it just lets you scan the
- * available stock icons and stock items.
+ * particularly useful in applications. The purpose of the "demo" is
+ * just to provide a handy place to browse the available stock icons
+ * and stock items.
  */
 
+#include <string.h>
+
 #include <gtk/gtk.h>
 
 static GtkWidget *window = NULL;
@@ -134,6 +137,7 @@ create_model (void)
   store = gtk_list_store_new_with_types (1, STOCK_ITEM_INFO_TYPE);
 
   ids = gtk_stock_list_ids ();
+  ids = g_slist_sort (ids, (GCompareFunc) strcmp);
   tmp_list = ids;
   while (tmp_list != NULL)
     {
index 117faeaaced0c0a95dcd02f9e363e5e2341bc56b..35ce60f20314139898813cbcfd14b3f257b3b7f3 100644 (file)
@@ -273,6 +273,17 @@ gtk_icon_factory_remove_default (GtkIconFactory  *factory)
   g_object_unref (G_OBJECT (factory));
 }
 
+static void
+ensure_default_icons (void)
+{
+  if (gtk_default_icons == NULL)
+    {
+      gtk_default_icons = gtk_icon_factory_new ();
+
+      get_default_icons (gtk_default_icons);
+    }
+}
+
 /**
  * gtk_icon_factory_lookup_default:
  * @stock_id: an icon name
@@ -306,12 +317,7 @@ gtk_icon_factory_lookup_default (const gchar *stock_id)
       tmp_list = g_slist_next (tmp_list);
     }
 
-  if (gtk_default_icons == NULL)
-    {
-      gtk_default_icons = gtk_icon_factory_new ();
-
-      get_default_icons (gtk_default_icons);
-    }
+  ensure_default_icons ();
   
   return gtk_icon_factory_lookup (gtk_default_icons, stock_id);
 }
@@ -2056,6 +2062,8 @@ _gtk_icon_factory_list_ids (void)
   GSList *ids;
 
   ids = NULL;
+
+  ensure_default_icons ();
   
   tmp_list = all_icon_factories;
   while (tmp_list != NULL)
index fc8b40da66d3da0512b9cf12c8bdfa26275ce8fb..9ca91aab04eded1a1d3d5c104fc203862d876900 100644 (file)
@@ -62,8 +62,6 @@ void          gtk_stock_item_free (GtkStockItem       *item);
 
 
 /* Stock IDs (not all are stock items; some are images only) */
-#define GTK_STOCK_MISSING_IMAGE    "gtk-missing-image"
-
 #define GTK_STOCK_DIALOG_INFO      "gtk-dialog-info"
 #define GTK_STOCK_DIALOG_WARNING   "gtk-dialog-warning"
 #define GTK_STOCK_DIALOG_ERROR     "gtk-dialog-error"
@@ -101,6 +99,7 @@ void          gtk_stock_item_free (GtkStockItem       *item);
 #define GTK_STOCK_JUSTIFY_FILL     "gtk-justify-fill"
 #define GTK_STOCK_JUSTIFY_LEFT     "gtk-justify-left"
 #define GTK_STOCK_JUSTIFY_RIGHT    "gtk-justify-right"
+#define GTK_STOCK_MISSING_IMAGE    "gtk-missing-image"
 #define GTK_STOCK_NEW              "gtk-new"
 #define GTK_STOCK_NO               "gtk-no"
 #define GTK_STOCK_OK               "gtk-ok"